package swapper.facade;

import java.util.List;
import java.util.Date;
import swapper.model.bean.Proposta;
import swapper.model.command.PropostaVerificaDuplCommand;
import swapper.model.dao.PropostaDao;

/**
 *
 * @author Valentino
 */
public class PropostaFacade implements IFacade {

    private PropostaDao propostadao;
    private PropostaVerificaDuplCommand propostaVerificaDuplCommand;

    public void setPropostaDao(PropostaDao propostadao) {
        this.propostadao = propostadao;
    }
    
    public void setPropostaVerificaDuplCommand(PropostaVerificaDuplCommand propostaVerificaDuplCommand) {
        this.propostaVerificaDuplCommand = propostaVerificaDuplCommand;
    }

    @Override
    public Object addNew(Object obj) {
        return propostadao.addNew(obj);
    }

    @Override
    public void delete(Object obj) {
        propostadao.delete(obj);
    }

    @Override
    public void update(Object obj) {
        propostadao.update(obj);
    }

    @Override
    public List<Object> listAll() {
        return propostadao.listAll();
    }

    @Override
    public Object findByCod(Long codigo) {
        return propostadao.findByCod(codigo);
    }

    @Override
    public List<Object> findByName(String name) {
        return propostadao.findByName(name);
    }
    public Proposta newProposta()
    {
        Proposta proposta = new Proposta();
        proposta.setDataRegistro(new Date().getTime());
       // proposta.setStatus(null);
        
        return proposta;
    }
    
    public String verificaDuplicadaGrava(Object obj)
    {
        
        String msg = propostaVerificaDuplCommand.Executar(obj);
        
        if(msg.equals("SUCESSO"))
        {
            addNew((Proposta) obj);
            return "Proposta gravada com sucesso !";
        }else
        {
            return "Já existe proposta para este produto";
        }
            
        
        
        
    }
    
 
    public List<Object> listAllByCod(Long produtoA) {
        return propostadao.listAllByCod(produtoA);
    }
    
}
